package demo04;

import java.util.function.Predicate;

/*
 *  public interface Predicate<T>：判断型接口
 *  default Predicate<T> or(Predicate<? super T> other)：Predicate的默认方法，用于将两个Predicate对象判断条件合并
 *  or()方法代表或者，结果只要满足两个Predicate对象其中一个的判断条件通过，就会返回true，都不满足，则才返回false
 */
public class Demo03PredicateOr {
    public static void main(String[] args) {
        System.out.println("字符串是否同时包含“H”和“W”：" +
                chickString("ello orld", string -> string.contains("H"), string -> string.contains("W"))); // false
    }

    public static boolean chickString(String string, Predicate<String> predicate1, Predicate<String> predicate2) {
        return predicate1.or(predicate2).test(string); // 如果predicate1或predicate2判断结果为true，则结果为true，如果都为flase，则结果为false
    }
}
